package com.ruoyi.baodao.mapper;

import com.ruoyi.baodao.entity.*;
import com.ruoyi.baodao.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.util.List;

// 宝岛自定义
@Repository
public interface BDMapper {
    // 自定义1 查询
    // 参数：1. 内码 2.商品名 3. 药品分类 4. 门店号  5. 标识 （用去区分是否从主档表中去除维护表中已存在的内码号）
     List<MFGoods9999> queryGoods(@Param("goodsCode") String goodsCode,@Param("goodsName") String goodsName,@Param("shopId") String shopId,@Param("className") String className,@Param("flag") String flag,@Param("price") String price);

     // 自定义2 对账
     List<Check> queryCheck(@Param("time") String time);

     //自定义3 增加和修改商品主治
     Long updateGoodsZZ(@Param("goodsCode") String goodsCode,@Param("goodsZZ") String goodsZZ,@Param("shopId") String shopId);

     // 自定义4 查询主治信息
     String  queryGoodsZZ(@Param("shopId") String shopId,@Param("goodsCode") String goodsCode);

     // 自定义5 可变表名 可变查询参数
     List<MFGoods9999> queryGoods1(@Param("goodsCode") String goodsCode,@Param("goodsName") String goodsName,@Param("shopId") String shopId,@Param("className") String className,@Param("flag") String flag,@Param("price") String price);

 //自定义3 增加和修改商品价格
     Long updatePrice(@Param("goodsCode") String goodsCode, @Param("price") BigDecimal price, @Param("shopId") String shopId);

     // 查询 模板表  根据店名

     List<LinkTemplate> queryTemplate(@Param("shopId") String shipId,@Param("templatename") String templatename);

     // 查询24小时分段客流
     List<HourCount>  queryHourCount(@Param("shopId") String shopId,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("groupType") String groupType);
     // 查询男女分类客流
     List<GenderCount> queryGenderCount(@Param("shopId") String shopId,@Param("startTime") String startTime,@Param("endTime") String endTime);
     // 年龄段分段客流
     List<AgeCount> queryAgeCount(@Param("shopId") String shopId,@Param("startTime") String startTime,@Param("endTime") String endTime);

     // 根据24小时和性别统计销售金额
    List<AmountCount> queryAmountCountByGender(@Param("shopId") String shopId,@Param("startTime") String startTime,@Param("endTime") String endTime);
    // 根据24小时和年龄范围统计销售金额
    List<AmountCount> queryAmountCountByAge(@Param("shopId") String shopId,@Param("startTime") String startTime,@Param("endTime") String endTime);


    List<ZSReview> queryZSReview(@Param("shopId") String shipId,@Param("sellStartTime") String sellStartTime,@Param("sellEndTime") String sellEndTime);


    // 查询 小票数据 add by whd
    List<PrintReceiptDetail> selectPrintReceiptDetailList(@Param("shopId") String shipId, @Param("sellNo") String sellNo);

    // 查询 追溯数据 add by whd
    List<EvtRecordSale> selectEvtRecordSaleList(@Param("shopId") String shipId, @Param("startTime") String startTime, @Param("endTime") String endTime);


    // 演示 数据资产验真
    List<ZCGLReview> queryZCGLReview();

    //自定义3 增加和修改商品主治
    Long updateZCGLFlag(@Param("sellNo") String sellNo);


    // 查询交易日志    p1为1时，过滤小票号为空； p2为1时，过滤总金额 ！= 实付金额 + 折扣金额
    List<PayLog> queryPayLog(@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("p1") String p1,@Param("p2") String p2);

   // 统计 交易 日志
    PayLog queryPayLog2(@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("p1") String p1,@Param("p2") String p2);

    // 统计交易金额
    PayLog queryAmountByDay(@Param("startTime") String startTime,@Param("endTime") String endTime);
    PayLog queryAmountByMonth(@Param("startTime") String startTime,@Param("endTime") String endTime);
    PayLog queryAmountByYear(@Param("startTime") String startTime,@Param("endTime") String endTime);


    // 统计交易金额 一天12 小时
    List<PayLog> queryTransactionDetailsByHour(@Param("time") String time);

    // 统计交易金额 一月 30 天
    List<PayLog> queryTransactionDetailsByDay(@Param("time") String time);

    // 统计交易金额 一年 12月
    List<PayLog> queryTransactionDetailsByMonth(@Param("time") String time);

    // 查询小票明细
    List<ReceiptDetails> queryReceiptDetails(@Param("sell_no") String sell_no);

    // 导入 京东推荐数据
    Integer insertJDTJ(JDTJ jdtj);

    // 查询京东推荐文件 列表
    List<JDTJFileVO> queryJDTJFile();
    List<JDTJFileVO> queryJDTJFileByStatus();   // add by whd 20210317


    //public String checkShopIdUnique(JDTJSetting jdtjSetting);
    // 京东推荐设置-查询
    List<JDTJSetting> queryJDTJSetting(@Param("shopId") String shopId);
    // 京东推荐设置-保存
    Integer insertJDTJSetting(JDTJSetting jdtjSetting);



    // 京东推荐全局
    // 参数： shopId
    List<JDTJVO> queryJDTJGlobalList(@Param("shopId") String shopId) ;
    // 京东推荐分类
    // 参数： shopId classCode
    List<JDTJVO> queryJDTJClassList(@Param("shopId") String shopId, @Param("classCode") String classCode) ;

    // 京东推荐 商品
    // 参数 shopId goodsCode
    List<JDTJVO> queryJDTJGoodsList(@Param("shopId") String shopId,@Param("goodsCode") String goodsCode) ;

    // 京东推荐 分类 获取分类列表
    // 参数 shopId
    List<GoodsClass> queryJDTJClassNumList(@Param("shopId") String shopId) ;

    //
    List<GoodsInfoVO> queryGoodsForJD(@Param("goodsCode") String goodsCode,@Param("goodsName") String goodsName,@Param("shopId") String shopId,@Param("className") String className,@Param("flag") String flag,@Param("price") String price);

    // 京东推荐商品 详情
    //List<JDTJVO> queryJDTJGoodsDetailList(@Param("goodsCode") String goodsCode,@Param("shopId") String shopId);


}
